在 windows 搭建 gitlab 平台

您所在的位置:网站首页 gitlab windows客户端下载 在 windows 搭建 gitlab 平台

在 windows 搭建 gitlab 平台

2023-09-18 17:53| 来源: 网络整理| 查看: 265

在 windows 搭建 gitlab 平台 目的:

在 windows 搭建 gitlab 平台,管理代码和文档,且文档(gitbook)实现自动编译部署

更多文章请到 Swift 之 Vapor3 系列目录

方案尝试 方案 1: windows 安装: docker docker 中运行: gitlab, gitlab-runner, gitbook 方案 2: windows 安装: docker, gitlab-runner, node, gitbook docerk 中运行: gitlab 方案 3: windows 安装: ubantu 虚拟机, nginx, gitlab-runner ubantu 虚拟机中安装:docker docker 中运行:gitlab

方案1中: 对 docker 的熟练度要求比较高,且比较复杂,不能对 gitlab 的数据进行备份 (-v 运行失败) 方案2中: 降低 docker方向的复杂度, 不能对gitlab 的数据进行备份(-v 运行失败) 方案3中: 可行的方案,但可以进一步优化

-v 运行失败: Volume trouble with GitLab docker image on Windows

正确实践:

方案 3 可以在 windows 只保留 nignx 反向代理功能, gitlab, gitlab-runner, gitbook, node 都放到 ubantu 虚拟机中

windows

nginx (需要切到 nginx 目录下运行)

假设将其安装在 E:\nginx-1.16.0\

# cd 到安装的目录 cd E:\nginx-1.16.0\ # 修改nginx配置文件的地方 E:\nginx-1.16.0\conf\nginx.conf

nginx 的配置如下:

http { # 监听 10080 端口,此为 gitlab 的访问端口 server { listen 10080; server_name localhost; location / { proxy_pass 192.168.137.200:10080; # 虚拟机中的 10080 端口, 虚拟机的 ip 为 被配置为 192.168.137.200 } } # 监听 4000 端口,此为 gitbook 的访问端口 server { listen 4000; server_name localhost; location / { proxy_pass 192.168.137.200:4000; } } }

重载 nginx的配置

cd E:\nginx-1.16.0\ ./nginx.exe -s reload

nignx 常用的命令有

taskkill /f /im nginx.exe # 关闭所有 nginx 进程 ./nginx.exe -s stop ./nginx.exe -s quit # 处理完现在的请求后停止 ./nginx.exe -s reload # 重新加载配置,并重启进程 hyper-v 虚拟机安装 ubantu 创建Hyper-V虚拟机

安装教程就不在这里细讲了,这里说几个点:

对于 ubantu 的 iso 下载,可以找几个国内的镜像,比如这里 mirrors.163.com

在用自己的 iso 镜像启动的时候,会遇到不能启动的情况 那么看尝试下关闭安全启动

虚拟机固定Ip

操作步骤可参考 Hyper-V 网络设置 虚拟机固定Ip

可以手动给虚拟机配置个静态 ip. 在 ubantu 的ui 界面,选择配置->网络->ipv4->手动配置,完成后重启虚拟机就好。

然后上面的操作后,虚拟机是无法访问外网的,那么该如何办?可参考 Hyper-V中安装CentOS7设置静态ip并且可以连接外网

虚拟机 ubantu 上安装

docker nginx nodejs gitbook

docker

sudo docker image ls # 查看 image 镜像 sudo docekr image rm 删除镜像 sudo docker pull gitlab/gitlab-ce 下载镜像 sudo docker container ls # 查看容器镜像 sudo docker contaier stop 停止运行容器 sudo docker container start 运行容器 sudo docker contaienr restart 重启容器 sudo docker container rm 删除容器

gitlab-runner

sudo gitlab-runner list # 查看存在的 runner sudo gitlab-runner verify # 核实 runner sudo gitlab-runner register # 注册 sudo gitlab-runner restart # 重启 sudo gitlab-runner start sudo gitlab-runner stop 配置参考

docker 添加 gitlab

创建 gitlab 文件夹

$ cd /srv/ $ sudo mkdir gitlab

创建命令

$ sudo docker pull twang2218/gitlab-ce-zh $ sudo docker run --detach \ --hostname localhost \ --publish 10443:443 --publish 10080:80 --publish 8888:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ twang2218/gitlab-ce-zh:latest

docker 添加 nignx

创建 nginx 文件夹

$ cd /srv/ $ mkdir nginx

创建命令

$ sudo docker pull nginx $ sudo docker run --name nginx -d -p 4000:80 -v /srv/nginx/html:/usr/share/nginx/html nginx

gitlab-ci.yml

before_script: - npm --version - gitbook install stages: - deploy pages: stage: deploy tags: - ldoc script: - ls - gitbook build - ls - cp _book/* /srv/nginx/html -r -f only: - master 总结

整个过程走下来也挺简单的,但是期间耗费了些时间,就好比 gitlab 部署在 docker 上数据丢失,数据卷无法在 windows 备份, 引我叹言 "gitlub not love windows"。对于习惯类 linux 的操作系统,windows 的短处必显。对于笨重的虚拟机来说,docker是无比的强大快捷。知识的点逐渐连成线,就不会学得太泛,让你烦躁!

看似简单的一个部署过程,集群

文章到此结束,如果有遇到问题或者文章不对的地方,请在文章底部留言.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3